home *** CD-ROM | disk | FTP | other *** search
- /*
-
- $VER: RawKey PlugIn 1.00 - By Fabio Rotondo (fsoft@intercom.it)
-
- Part of the EasyPLUGINs package
-
- V1.00 - Initial Release
-
- */
-
- OPT OSVERSION=37
- OPT MODULE
- OPT EXPORT
-
-
- MODULE 'tools/EasyGUI',
- 'intuition/intuition',
- 'graphics/text',
- 'workbench/workbench'
-
- CONST PLA_KEY_RIGHT = 78, PLA_KEY_LEFT = 79
-
- OBJECT rawkey OF plugin
- PRIVATE
- left
- right
- user
- ENDOBJECT
-
- PROC init() OF rawkey
- self.left := NIL
- self.right := NIL
- self.user := NIL
- ENDPROC
-
- PROC end() OF rawkey IS EMPTY
-
- PROC will_resize() OF rawkey IS NIL,NIL
-
- PROC min_size(ta : PTR TO textattr, fontheight) OF rawkey IS NIL,NIL
-
- PROC render(ta : PTR TO textattr, x, y, xs, ys, win : PTR TO window) OF rawkey IS EMPTY
-
- PROC clear_render(win : PTR TO window) OF rawkey IS EMPTY
-
- PROC message_test(imsg : PTR TO intuimessage, win : PTR TO window) OF rawkey
-
- DEF c,
- x = NIL
-
- IF (imsg.class = IDCMP_RAWKEY) OR (imsg.class = IDCMP_VANILLAKEY)
- c := imsg.code
- SELECT c
- CASE PLA_KEY_RIGHT
- x := self.right
- CASE PLA_KEY_LEFT
- x := self.left
- ENDSELECT
- IF x THEN x(self.user)
- ENDIF
- ENDPROC FALSE
-
- PROC message_action(class, qual, code, win : PTR TO window) OF rawkey IS EMPTY
-
- PROC setattrs(tags : PTR TO LONG) OF rawkey
-
- DEF t,
- v
-
- WHILE (t := Long(tags++))
- v := Long(tags++)
- SELECT t
- CASE PLA_KEY_RIGHT
- self.right := v
- CASE PLA_KEY_LEFT
- self.left := v
- ENDSELECT
- ENDWHILE
- ENDPROC
-
-